package com.heima.model.common.annotation;

import com.fasterxml.jackson.annotation.JacksonAnnotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

//表示当前自定义注解IdEncrypt是Jackson注解的一部分
@JacksonAnnotation
//定义了当前IdEncrypt注解的生命周期为运行时仍然会被保留，可以通过反射获取到注解的信息
@Retention(RetentionPolicy.RUNTIME)
//定义了 IdEncrypt 注解可以应用的目标位置，可以在字段（FIELD）、方法（METHOD）和方法参数（PARAMETER）上使用
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
//这个注解的目的是标识某些需要加密处理的标识符（如ID），以便在JSON序列化和反序列化的过程中进行相应的加密或解密操作
public @interface IdEncrypt {
}